import {getFilterList} from '@/api/data'
export default {
  /**
   * @description 保存公钥
   */
  setPublicKey(info) {
    sessionStorage.setItem("PublicKey", info);
  },
  /**
   * @description 获取公钥
   */
  getPublicKey() {
    let info = sessionStorage.getItem("PublicKey");
    return info;
  },
  /**
     * @description 保存颜色Color
     */
   setColor(color) {
    sessionStorage.setItem('Color', color);
  },
  setColorType(colorType) {
    sessionStorage.setItem('colorType', colorType);
  },
  /**
   * @description 获取颜色Color
   */
   getColor() {
    const info = sessionStorage.getItem('Color');
    return info;
  },
  getColorType() {
    const info = sessionStorage.getItem('colorType');
    return info;
  },
  /**
   * @description 保存跳转登录页前的路由的fullPath
   */
  setToLoginRoute(path) {
    sessionStorage.setItem("beforeToLoginPath", path);
  },
  /**
   * @description 获取跳转登录页前的路由的fullPath
   */
  getToLoginRoute() {
    let path = sessionStorage.getItem("beforeToLoginPath");
    return path ? path : "/";
  },
  /**
   * @description 保存跳转登录页前的页面的数据
   */
  setToLoginData(data) {
    sessionStorage.setItem("beforeToLoginData", JSON.stringify(data));
  },
  /**
   * @description 获取跳转登录页前的页面的数据
   */
  getToLoginData() {
    let data = sessionStorage.getItem("beforeToLoginData");
    return data ? JSON.parse(data) : null;
  },
  /**
   * @description 保存跳转添加模板页前的页面是购物车
   */
  setFromPo(info) {
    sessionStorage.setItem("FromPo", info);
  },
  /**
   * @description 获取跳转添加模板页前的页面是否是购物车
   */
  getFromPo() {
    let path = sessionStorage.getItem("FromPo");
    return path;
  },
  /**
   * @description 保存预订通道
   */
  setBookingChannel(info) {
    sessionStorage.setItem("bookingChannel", JSON.stringify(info));
  },
  /**
   * @description 获取预订通道
   */
  getBookingChannel() {
    let info = sessionStorage.getItem("bookingChannel");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存域名构造
   */
  setDomainTypes(info) {
    sessionStorage.setItem("domainTypes", JSON.stringify(info));
  },
  /**
   * @description 获取域名构造
   */
  getDomainTypes() {
    let info = sessionStorage.getItem("domainTypes");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存域名后缀
   */
  setDomainSuffix(info) {
    sessionStorage.setItem("DomainSuffix", JSON.stringify(info));
  },
  /**
   * @description 获取域名后缀
   */
  getDomainSuffix() {
    let info = sessionStorage.getItem("DomainSuffix");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存财务类型
   */
  setFinancialType(info) {
    sessionStorage.setItem("financialType", JSON.stringify(info));
  },
  /**
   * @description 获取财务类型
   */
  getFinancialType() {
    let info = sessionStorage.getItem("financialType");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存发票类型
   */
  setInvoiceType(info) {
    sessionStorage.setItem("InvoiceType", JSON.stringify(info));
  },
  /**
   * @description 获取发票类型
   */
  getInvoiceType() {
    let info = sessionStorage.getItem("InvoiceType");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存冻结类型
   */
  setFreezeType(info) {
    sessionStorage.setItem("freezeType", JSON.stringify(info));
  },
  /**
   * @description 获取冻结类型
   */
  getFreezeType() {
    let info = sessionStorage.getItem("freezeType");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存域名查询条件
   */
  setFilterList(info) {
    sessionStorage.setItem("FilterList", JSON.stringify(info));
  },
  /**
   * @description 获取域名查询条件
   */
  getFilterList() {
    let info = sessionStorage.getItem("FilterList");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存省市区
   */
  setAddressList(info) {
    sessionStorage.setItem("AddressList", JSON.stringify(info));
  },
  /**
   * @description 获取省市区
   */
  getAddressList() {
    let info = sessionStorage.getItem("AddressList");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 保存国家
   */
  setCountryList(info) {
    sessionStorage.setItem("Countryist", JSON.stringify(info));
  },
  /**
   * @description 获取国家
   */
  getCountryList() {
    let info = sessionStorage.getItem("Countryist");
    return info ? JSON.parse(info) : null;
  },
  /**
   * @description 记住我
   */
  setRememberMe(info) {
    sessionStorage.setItem("rememberMe", info);
  },
  /**
   * @description 获取记住我的账号
   */
  getRememberMe() {
    let info = sessionStorage.getItem("rememberMe");
    return info;
  },
  // 获取选中的域名
  getPushSelectDomian() {
    let array = sessionStorage.getItem("pushSelectDomian");
    if (array) {
      return (array = JSON.parse(array));
    }
    return [];
  },
  // 设置选中的域名
  setPushSelectDomian(data) {
    sessionStorage.setItem("pushSelectDomian", JSON.stringify(data));
  },
  // 设置登录类型 0 正常登录 1 模拟登录
  setLoginSource(data) {
    localStorage.setItem("loginSource", data);
  },
  // 获取登录类型 0 正常登录 1 模拟登录
  getLoginSource() {
    let loginSource = parseInt(localStorage.getItem("loginSource") || 0);
    return loginSource;
  },
  async getDomainQueryTerm() {
    const domainQueryTerm = sessionStorage.getItem('domainQueryTerm') ? JSON.parse(sessionStorage.getItem('domainQueryTerm')) : null;
    if (domainQueryTerm) {
      return domainQueryTerm;
    }
    const { code, data } = await getFilterList();
    if (code === 200 && data) {
      const tempData = {};
      tempData.domainSuffixList = data.domainSuffixList.map((o) => {
        return {
          name: o
        };
      });
      tempData.domainFeatureList = data.domainFeatureList.map((o) => {
        return {
          name: o
        };
      });
      tempData.domainLenList = data.domainLenList.map((o) => {
        return {
          name: o
        };
      });
      tempData.domainTypeList = data.domainTypeList;
      tempData.domainStructureList = data.domainStructureList;
      tempData.regtimeList = data.regtimeList;
      tempData.platforms = data.platforms;
      tempData.fixPlatform = data.fixPlatforms;
      tempData.deleteList = data.deleteList;
      sessionStorage.setItem('domainQueryTerm', JSON.stringify(tempData));
      return tempData;
    }
    // this.$Message.warning(message);
    return null;
  }
};
